<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        #employeeTable {
            margin: 50px auto;
            /* 边框的折叠方式 */
            border-collapse: collapse;
        }

        tr th {
            border: 1px solid;
        }

        #employeeTable tr td {
            border: 1px solid;
        }

        #formDiv {
            width: 280px;
            margin: 0 auto;
            border: 1px solid;
            padding: 50px 10px;
        }

        #formDiv h4 {
            margin-bottom: 20px;
        }
    </style>
    <script>
        // 封装删除tr的单击响应函数
        function delA() {
            // 点击哪个超链接this就是谁
            // 获取当前tr（a元素的父节点的父节点）
            var tr = this.parentNode.parentNode;

            // 获取要删除的员工的名字
            // var name = tr.getElementsByTagName("td")[0].innerHTML;
            var name = tr.children[0].innerHTML;

            // 删除之前弹出一个提示框
            /*
                confirm()用于弹出一个带有确认和取消按钮的提示框，需要一个字符串作为参数，该字符串将会作为提示文字显示出来
                如果点击确认会返回true，如果点击取消返回false
            */
            var flag = confirm("确认删除" + name + "吗？");
            // 如果用户确认
            if (flag) {
                // 删除tr
                tr.parentNode.removeChild(tr);
            }

            // 取消默认行为
            /*
                点击超链接以后，超链接会跳转页面，这个是超链接的默认行为
                但不希望出现默认行为可以通过在响应函数的最后return false来取消默认行为
            */
            return false;
        };
        window.onload = function () {
            // 点击超链接以后，删除一个员工的信息
            var allA = document.getElementsByTagName("a");

            // 点击超链接后，删除超链接所在行
            // 为每个超链接绑定一个单击响应函数
            for (var i = 0; i < allA.length; i++) {
                allA[i].onclick = delA;

                // 添加员工的功能
                // 为提交按钮绑定一个单击响应函数
                var addEmpButton = document.getElementById("addEmpButton");
                addEmpButton.onclick = function () {
                    // 获取标签
                    // 获取用户添加的员工信息
                    // 获取员工的名字
                    var name = document.getElementById("empName").value;
                    // 获取员工的email和salary
                    var email = document.getElementById("email").value;
                    var salary = document.getElementById("salary").value;

                    // 创建标签
                    /*
                        <tr>
                            <td>Tom</td>
                            <td>tom@tom.com</td>
                            <td>5000</td>
                            <td><a href="deleteEmp?id=001">Delete</a></td>
                        </tr>
                    */
                    // 创建一个tr
                    var tr = document.createElement("tr");

                    // 第一种方法
                    // 设置tr中的内容
                    tr.innerHTML =  "<td>" + name + "</td>" +
                                    "<td>" + email + "</td>" +
                                    "<td>" + salary + "</td>" +
                                    "<td><a href='javascript:;'>Delete</a></td>";
                    // 获取刚刚添加的a元素，并为其绑定单击响应函数，赋值到a上
                    var a = tr.getElementsByTagName("a")[0];
                    // 第二种方法
                    /*
                    // 创建四个td
                    var nameTd = document.createElement("td");
                    var emailTd = document.createElement("td");
                    var salaryTd = document.createElement("td");
                    var aTd = document.createElement("td");
                    // 创建一个a元素
                    var a = document.createElement("a");
                    // 创建三个文本元素
                    var nameText = document.createTextNode(name);
                    var emailText = document.createTextNode(email);
                    var salaryText = document.createTextNode(salary);
                    var delText = document.createTextNode("Delete");

                    // 添加标签
                    // 将文本添加到td中
                    nameTd.appendChild(nameText);
                    emailTd.appendChild(emailText);
                    salaryTd.appendChild(salaryText);
                    // 向a中添加文本
                    a.appendChild(delText);
                    // 将a添加到td中
                    aTd.appendChild(a);
                    // 将td添加到tr中
                    tr.appendChild(nameTd);
                    tr.appendChild(emailTd);
                    tr.appendChild(salaryTd);
                    tr.appendChild(aTd);
                    */

                    // 获取table
                    var employeeTable = document.getElementById("employeeTable");
                    // 将tr添加到table中
                    // employeeTable.appendChild(tr);
                    // 产生一个tbody，而其他新添加的则会在tbody外，调整样式会有隐患
                    // 获取employeeTable中的tbody
                    var tbody = employeeTable.getElementsByTagName("tbody")[0];
                    // 将tr添加到tbody中
                    tbody.appendChild(tr);

                    // 向a中添加href属性
                    a.href = "javascript:";

                    // 为新添加的a再绑定一次单击响应函数
                    a.onclick = delA;
                }
            }
        }
    </script>
</head>

<body>
    <table id="employeeTable">
        <tr>
            <th>Name</th>
            <th>Email</th>
            <th>Salary</th>
            <th>&nbsp;</th>
        </tr>
        <tr>
            <td>Tom</td>
            <td>tom@tom.com</td>
            <td>5000</td>
            <td><a href="deleteEmp?id=001">Delete</a></td>
        </tr>
        <tr>
            <td>Jerry</td>
            <td>jerry@sohu.com</td>
            <td>8000</td>
            <td><a href="deleteEmp?id=002">Delete</a></td>
        </tr>
        <tr>
            <td>Bob</td>
            <td>Bob@sohu.com</td>
            <td>10000</td>
            <td><a href="deleteEmp?id=003">Delete</a></td>
        </tr>
    </table>

    <div id="formDiv">
        <h4>添加新员工</h4>
        <table>
            <tr>
                <td class="word">name：</td>
                <td class="inp">
                    <input type="text" name="empName" id="empName">
                </td>
            </tr>
            <tr>
                <td class="word">email：</td>
                <td class="inp">
                    <input type="text" name="email" id="email">
                </td>
            </tr>
            <tr>
                <td class="word">salary：</td>
                <td class="inp">
                    <input type="text" name="salary" id="salary">
                </td>
            </tr>
            <tr>
                <td colspan="2" align="center">
                    <button id="addEmpButton" value="abc">
                        Submit
                    </button>
                </td>
            </tr>
        </table>
    </div>

</body>

</html>